@@ -1,3 +1,15 @@
+version 0.013; 2010-11-16
+
+ * bugfix: avoid triggering a core assertion on debugging builds,
+ by using OP_NULL as a stalking-horse opcode instead of OP_PUSHMARK
+ (nothing actually broke apart from the assertion)
+
+ * provide reserve definition of Newx(), to allow compilation on
+ non-threaded Perls prior to 5.8.8
+
+ * avoid a compiler warning from the reserve implementation of the
+ ptr_table data structure
+
version 0.012; 2010-11-03
* generate custom ops for most functions, to avoid heavyweight function
@@ -25,7 +25,7 @@ name: Params-Classify
provides:
Params::Classify:
file: lib/Params/Classify.pm
- version: 0.012
+ version: 0.013
recommends:
XSLoader: 0
requires:
@@ -37,4 +37,4 @@ requires:
warnings: 0
resources:
license: http://dev.perl.org/licenses/
-version: 0.012
+version: 0.013
@@ -16,14 +16,14 @@ Hash: SHA1
SHA1 2f6a77cc1af0bc60cf87ec5335a995defa3e6eaf .cvsignore
SHA1 a433f32fb0d0334e4001ec04741f776c4199379d Build.PL
-SHA1 6acda908ccc73cdf8ec93f718a4bb84335b66c43 Changes
+SHA1 22cbe81208a74303ace05ff63a9243c3cb87221d Changes
SHA1 2e0cd1c1b78fb8591fde383f023acb4a579cb4dc MANIFEST
-SHA1 3a0a4ad2c57fd4a1c740cd20e5b341df5b6a9dba META.yml
+SHA1 1463aa8b2d472d2dca1d6f601e28e874ef95e502 META.yml
SHA1 0e23f901a8f88cc5f8fd6f9aa29c9122db1c00e4 Makefile.PL
SHA1 00ef56b107920b1bb435a80247d50dded3c1eace README
SHA1 91978573e906c90b93752e0733ef8e875f0d1b89 lib/Params/.cvsignore
-SHA1 d5d5865970029b1fb93a59b2ee3147b77a5dfebb lib/Params/Classify.pm
-SHA1 c10b0ebb729e38528d846d08069d83981aba7639 lib/Params/Classify.xs
+SHA1 615202f9e823f139fbfcb4fe46fc7cc8989da9b0 lib/Params/Classify.pm
+SHA1 40b5ef7d1c03d951912097973ecd6b2e095a3c32 lib/Params/Classify.xs
SHA1 497c90b7b470f8c3a4594265c4a97376000fc2aa t/blessed.t
SHA1 a3d9a389510faf3bfecb4860a14813988a0eddcd t/blessed_pp.t
SHA1 e05666c5b2480ce441116ff26e55fa5bb07fb741 t/check.t
@@ -41,7 +41,7 @@ SHA1 97157325ac601fe786026cdc319f958c8ea785ae t/setup_pp.pl
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
-iEYEARECAAYFAkzRoMYACgkQOV9mt2VyAVE/6QCdF/6/65IjUdam+piWEsoILSz8
-/jYAnRXLN7sj4WoJRoYN9ELuaa9JXsSU
-=KyQJ
+iEYEARECAAYFAkzi6yMACgkQOV9mt2VyAVE+hQCeOJemX8bpRvhEK7XBeB3YBmkF
+ZhIAoI/InODHqUDzt2Aryvc6tZH1SFNb
+=kZIC
-----END PGP SIGNATURE-----
@@ -78,7 +78,7 @@ package Params::Classify;
use warnings;
use strict;
-our $VERSION = "0.012";
+our $VERSION = "0.013";
use parent "Exporter";
our @EXPORT_OK = qw(
@@ -17,6 +17,10 @@
# define PERL_UNUSED_ARG(x) PERL_UNUSED_VAR(x)
#endif /* !PERL_UNUSED_ARG */
+#ifndef Newx
+# define Newx(v,n,t) New(0,v,n,t)
+#endif /* !Newx */
+
#ifndef HvNAME_get
# define HvNAME_get(hv) HvNAME(hv)
#endif
@@ -56,7 +60,8 @@ static PTR_TBL_t *THX_ptr_table_new(pTHX)
return tbl;
}
-# define ptr_table_free(tbl) THX_ptr_table_free(aTHX_ tbl)
+# if 0
+# define ptr_table_free(tbl) THX_ptr_table_free(aTHX_ tbl)
static void THX_ptr_table_free(pTHX_ PTR_TBL_t *tbl)
{
struct q_ptr_tbl_ent *ent = *tbl;
@@ -67,6 +72,7 @@ static void THX_ptr_table_free(pTHX_ PTR_TBL_t *tbl)
ent = nent;
}
}
+# endif /* 0 */
# define ptr_table_store(tbl, from, to) THX_ptr_table_store(aTHX_ tbl, from, to)
static void THX_ptr_table_store(pTHX_ PTR_TBL_t *tbl, void *from, void *to)
@@ -637,7 +643,7 @@ static OP *myck_entersub(pTHX_ OP *op)
pushop->op_sibling = bop;
aop->op_sibling = NULL;
op_free(op);
- op = newUNOP(OP_PUSHMARK, 0, aop);
+ op = newUNOP(OP_NULL, 0, aop);
op->op_type = OP_RAND;
op->op_ppaddr = ppfunc;
op->op_private = (U8)cvflags;
@@ -665,7 +671,7 @@ static OP *myck_entersub(pTHX_ OP *op)
aop->op_sibling = NULL;
bop->op_sibling = NULL;
op_free(op);
- op = newBINOP(OP_PUSHMARK, 0, aop, bop);
+ op = newBINOP(OP_NULL, 0, aop, bop);
op->op_type = OP_RAND;
op->op_ppaddr = ppfunc;
op->op_private = (U8)cvflags;